package ext.acae2.dms.load;

import java.beans.PropertyVetoException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.rmi.RemoteException;

import wt.epm.EPMDocument;
import wt.method.RemoteAccess;
import wt.method.RemoteMethodServer;
import wt.part.WTPart;
import wt.util.WTException;
import ext.acae2.util.QueryUtil;

public class WindchillTest implements RemoteAccess {

	public static void main(String[] args) throws RemoteException,
			InvocationTargetException {
		RemoteMethodServer server = RemoteMethodServer.getDefault();
		server.setUserName("wcadmin");
		server.setPassword("wcadmin");
		server.invoke("run", WindchillTest.class.getName(), null,
				new Class[] {}, new Object[] {});
	}

	public static void run() throws WTException, FileNotFoundException,
			PropertyVetoException, IOException {

		System.out.println("*********start*************");

		// WTPart part = QueryUtil.getPartByNumber("2012_ASM01");
		// WTPart part1 = QueryUtil.getPartByNumber("STAND_1");
		//
		// //add WTPartUsageLink
		// WTPartUsageLink link = WTPartUsageLink.newWTPartUsageLink(part,
		// (WTPartMaster)part1.getMaster());
		// PersistenceServerHelper.manager.insert(link);

		// WTPartUsageLink link = WTPartUsageLink.newWTPartUsageLink(part,
		// (WTPartMaster)part1.getMaster());
		// PersistenceServerHelper.manager.insert(link);
		// WTPart part2 = QueryUtil.getPartByNumber("2012_MODEL0");
		// WTPart part3 = QueryUtil.getPartByNumber("2012_MODEL1");
		// WTPart part4 = QueryUtil.getPartByNumber("2012_MODEL2");
		// WTPart part5 = QueryUtil.getPartByNumber("2012_MODEL3");
		//
		// WTDocument doc = QueryUtil.getDocumentByNumber("ECM模板-测试.DOCX");
		//
		// EPMDocument epm =
		// QueryUtil.getEPMDocumentByNumber("2012_ASM01_A.PRT");
		// EPMDocument epm2 = QueryUtil.getEPMDocumentByNumber("STAND_1_A.PRT");
		// EPMDocument epm3 =
		// QueryUtil.getEPMDocumentByNumber("2012_MODEL0_A.PRT");
		// EPMDocument epm4 =
		// QueryUtil.getEPMDocumentByNumber("2012_MODEL1_A.PRT");
		// EPMDocument epm5 =
		// QueryUtil.getEPMDocumentByNumber("2012_MODEL2_A.PRT");
		// EPMDocument epm6 =
		// QueryUtil.getEPMDocumentByNumber("2012_MODEL3_A.PRT");
		// EPMDocument epm7 =
		// QueryUtil.getEPMDocumentByNumber("2012_ASM01_DWG.PRT");
		// add PrimaryContent
		// String filePath = "E://123.txt";
		// ApplicationData applicationdata =
		// ApplicationData.newApplicationData(epm);
		// applicationdata.setRole(ContentRoleType.toContentRoleType("PRIMARY"));
		// if (!"".equals(filePath)) {
		// ContentServerHelper.service.updateContent(epm, applicationdata,
		// filePath);
		// }
		EPMDocument epm = QueryUtil
				.getEPMDocumentByNumber("2TLM6X1_0C_9_A.PRT");
		EPMDocument epm2 = QueryUtil
				.getEPMDocumentByNumber("7222C1M001P00_A.PRT");
		EPMDocument epm3 = QueryUtil
				.getEPMDocumentByNumber("7222C1M801G00_A.PRT");

		LinkFactory.getInstance().removeEpmDescribeLink(epm);
		LinkFactory.getInstance().removeEpmDescribeLink(epm2);
		LinkFactory.getInstance().removeEpmDescribeLink(epm3);
		//
		// LinkFactory.getInstance().removeEpmDescribeLink(epm);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm2);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm3);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm4);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm5);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm6);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm7);
		WTPart part = QueryUtil.getPartByNumber("7222C1M801G00");
		WTPart part2 = QueryUtil.getPartByNumber("2TLM6X1.0C-9");
		WTPart part3 = QueryUtil.getPartByNumber("7222C1M001P00");
		// LinkFactory.getInstance().removeReferenceLink(part, doc);
		LinkFactory.getInstance().removeUsageLink(part);
		LinkFactory.getInstance().removeUsageLink(part2);
		LinkFactory.getInstance().removeUsageLink(part3);
		// LinkFactory.getInstance().removeUsageLink(part4);
		// LinkFactory.getInstance().removeUsageLink(part5);
		//
		//
		//
		//
		// WTPart part12 = QueryUtil.getPartByNumber("600084118");
		// WTPart part13 = QueryUtil.getPartByNumber("600057613");
		// WTPart part14 = QueryUtil.getPartByNumber("600084117");
		// LinkFactory.getInstance().removeUsageLink(part12);
		// LinkFactory.getInstance().removeUsageLink(part13);
		// LinkFactory.getInstance().removeUsageLink(part14);
		//
		//
		// EPMDocument epm8 =
		// QueryUtil.getEPMDocumentByNumber("600084118_00A.PRT");
		// EPMDocument epm9 =
		// QueryUtil.getEPMDocumentByNumber("600057613_00A.PRT");
		// EPMDocument epm10 =
		// QueryUtil.getEPMDocumentByNumber("600057613_00A_XML3.PRT");
		// EPMDocument epm11 =
		// QueryUtil.getEPMDocumentByNumber("600084117_00A.PRT");
		// LinkFactory.getInstance().removeEpmDescribeLink(epm8);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm9);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm10);
		// LinkFactory.getInstance().removeEpmDescribeLink(epm11);
		// LinkFactory.getInstance().removeEpmDescribeLink(epmDoc);
		// LinkFactory.getInstance().removeUsageLink(part);
		// LinkFactory.getInstance().removeUsageLink(part2);
		// LinkFactory.getInstance().removeUsageLink(part3);
		//
		// System.out.println("====part====" +
		// part.getVersionInfo().getIdentifier().getValue());
		// System.out.println("&&&&&&&&&" +
		// part.getIterationIdentifier().getValue());
		//
		// part = (WTPart) VersionControlHelper.service.newIteration(part);
		//
		// part = (WTPart) VersionControlHelper.service.newVersion(part);
		//
		// VersionUtil.setVersion(part, "D");
		// VersionUtil.setIteration(part, "2");
		//
		// part = (WTPart) VersionControlHelper.service.insertNode(part, null,
		// null, null, null);
		//
		// WTPart part2 = QueryUtil.getPartByNumber("2012_ASM01");
		//
		// System.out.println("====part2====" +
		// part2.getVersionInfo().getIdentifier().getValue());
		// System.out.println("&&&&&&2&&&" +
		// part2.getIterationIdentifier().getValue());

		// PersistenceHelper.manager.delete(part);
		// QueryResult qr =
		// PersistenceHelper.manager.navigate(document,EPMDescribeLink.DESCRIBES_ROLE,
		// EPMDescribeLink.class,false);
		// EPMDescribeLink epmDesc = null;
		// while(qr.hasMoreElements())
		// {
		// System.out.println("epmDesc size =" + (qr!=null?qr.size():qr));
		// epmDesc = (EPMDescribeLink)qr.nextElement();
		// //epmDescribeLink.add(epmDesc);
		// System.out.println("epmDesc getRoleAObject =" +
		// (epmDesc.getRoleAObject()!=null?epmDesc.getRoleAObject().getClass().getName():epmDesc.getRoleAObject()));
		// System.out.println("epmDesc getRoleBObject =" +
		// (epmDesc.getRoleBObject()!=null?epmDesc.getRoleBObject().getClass().getName():epmDesc.getRoleBObject()));
		// PersistenceServerHelper.manager.remove(epmDesc);
		// }

		System.out.println("*********done*************");

	}
}
